package com.atu.poker.dao;

import java.sql.SQLException;
import java.util.List;

import com.atu.poker.po.UserInfo;
import com.mysql.jdbc.Blob;

public interface UserInfoDAO {
	
	/**
	 * 添加用户信息
	 * @param userinfo
	 * @throws SQLException 
	 */
	public void addUserInfo(UserInfo userInfo);
	
	/**
	 * 获取数据库所有用户信息
	 * @return
	 * @throws SQLException 
	 */
	public List<UserInfo> getUserInfoList() ;

	/**
	 * 根据用户名称获取用户信息的id
	 * @param userName
	 * @return
	 * @throws SQLException 
	 */
	public String getIdByUserName(String userName) ;
	
	/**
	 * 根据邮箱获取用户信息的id
	 * @param email
	 * @return
	 * @throws SQLException 
	 */
	public String getIdByEmail(String email);		
	
	/**
	 * 根据用户名称获取用户密码，因为密码加密了，所有需要获取用户密码解密
	 * @param userName
	 * @return
	 * @throws SQLException 
	 */
	public String getUserPwd(String email);
	
	/**
	 * 获取用户头像
	 * @param userName
	 * @return
	 * @throws SQLException 
	 */
	public Blob getFaceImg(String userName);
	
	/**
	 * 根据userId和userPwd获取用户信息
	 * @param userId
	 * @param userPwd
	 * @return
	 * @throws SQLException 
	 */
	public UserInfo getUserInfo(String userId);
	
	/**
	 * 根据email和userPwd修改用户密码
	 * @param userPwd
	 * @param userId
	 * @throws SQLException 
	 */
	public void upUserPwd(String email,String userPwd);
	
	/**
	 * 改变用户登录状态 0：未登录，1：已登录
	 * @param userId
	 * @throws SQLException 
	 */
	public void changeUserStatus(String userId,String userStatus);
	
	/**
	 * 获取用户登录状态 0：未登录，1：已登录
	 * @param userId
	 * @return
	 * @throws SQLException 
	 */
	public String getUserStatus(String userId);
	
	/**
	 * 获取用户名称
	 * @param userId
	 * @return
	 * @throws SQLException 
	 */
	public String getUserName(String userId);
}
